Forum:Semantic Upgrade
The d20 NPCs wiki has grown past its infancy, and has grown to nearly 1,800 articles! The Wikia community has grown as well, and several other Tabletop RPG wikis have sprung up alongside the d20 NPCs wiki, some of which with similar goals. While the goal of the d20 NPCs wiki has been to embrace all d20 systems, the D&D 3.5 system has been the most popular, and a majority of the NPCs are from that system. As such, some exchanges have taken place with myself and the admins of the Dungeons and Dragons Wikia Wiki on the possibility of more closely tying these two wikis together. That wiki focuses on homebrew content, including custom races, classes, equipment, spells, and monsters. They do have several NPCs stat blocks enumerated, as examples of those custom features, and simply as customized NPCs. More closely tying these two wikis together would enable people to create NPCs here using the templates and automatic dice rolling features on this wiki, referencing the custom races/classes/etc. over there for more detail. Since this opportunity for growth would involve merging a not insignificant number of pages from the Dungeons and Dragons wiki over to here, now seems like a good time to work out some of the organizational bugs that this wiki has, which have been put off since no perfect solution had been found, and if it was, it would involve changes to a lot of pages. But I am pleased to announce that a solution has been found that I think would make this wiki much more usable for DMs wanting to use the content here, and DMs wanting to contribute content both. The current organization of the wiki was tending towards using the MediaWiki Categories to organize content. This was easy for editors, since they just had to add Category: tags for the NPC's class, race, CR level, Type, and Subtype. However this had the downside for DMs searching the wiki via the Categories because the automatic Category listing page shows pages by page title, rather than what is specified after the pipe in a Category tag. Plus, while searching by CR (for example), if the title of an article didn't have the Race of the creature in it, the only way to find what Race it is is by visiting each page in the Category (not ideal). To fix these issues, the static Index pages were created, but those are bad since an editor then needs to update multiple places to ensure the character is posted. The solution that has been proposed and I think will work out very nearly perfectly is the Semantic MediaWiki extension. Similar to MediaWiki "Categories", pages can be tagged with "Properties" to define them. But unlike the automatic Category pages, queries can be run in a customized manner inside another article, via the parser hook, and use other Properties of the queried pages to make customized lists. Hence, the "static" index pages can be replaced with pages using tags, which will automatically update when a new article defines that Property for itself, plus people can browse the Property tree (just like the Category tree) directly if they prefer. To make this changeover happen, lots of pages need to be updated, and more editors make light work! If you'd like to pitch in, take a look at the tasks below and jump in where you feel comfortable. If you make any changes to pages as a result of this initiative, please put "Semantic Overhaul" somewhere in the edit summary for that edit, so others know which pages have been looked at from this perspective. If you have questions/comments, leave them on the Discussion page. The old static index pages have been moved to d20 NPCs by Challenge Rating/Old, d20 NPCs by Creature Type/Old and d20 NPCs by Primary Character Class/Old, and their former positions will be replaced with Semantic searches to automate those processes. But if you want to get at the old indexes in the meantime, feel free to use those links. If you want to start using the Semantic search methods right away, you can navigate the Property tree by starting at , then drill down into the property you'd like to navigate on. Or for an advanced search, visit the _single}} Semantic Drilldown special page. --MidnightLightning 16:39, November 18, 2009 (UTC) Tasks needing doing * Template NPCs that don't have a template: Some NPCs don't use an NPC template, and hence are not going to automatically get the semantic tags added. However, pages that don't have a template may be hard to find. There is a bot-updated page that can help with this: User:LightningBot/Template-less. Take a look at that page, and if a page listed there is indeed an NPC, apply one of the NPC templates to it to help tidy up the wiki. At the very least, if you can determine what that page needs, use the Tidy template to flag that page for someone else to help out with. If you find a page that appears abandoned incomplete, add it to the Abandoned category so an admin can determine whether it's worth keeping around. * Update classes: The NPC templates can automatically add several semantic properties, but classes are something that can't be done automatically. The StatDMG2 and StatShort templates take a "class" parameter which is intended to be a slash-delimited list of classes. The names of the classes should be flagged as semantic Properties (as the example shows). To help out on this task, head over to or the , and go down the list ensuring that each NPC has their Classes properly defined as Properties. * Update races: The 'race' variable in the StatDMG2 and StatShort templates is automatically turned into a Race Property, which works in most cases, but in the case of sub-races, not so well. To help out with this task, head to the listing of all the Race properties and find any that are non-standard, and change to to match the standard. As such, here's some guidelines for how sub-races should be categorized: ** Dwarves: race = Dwarf, type = Humanoid, subtype = Dwarf. For Deep, Hill, Mountain, Duergar, and other specific types of dwarf, their race changes to their specific sub-race, but subtype should stay 'Dwarf' ** Elves: race = Elf, type = Humanoid, subtype = Elf. For Gray, High, Wild, Drow and other specific types of elf, their race changes to their specific sub-race, but subtype should stay 'Elf' ** Gnomes: race = Gnome, type = Humanoid, subtype = Gnome. For Rock, Deep, Svirfneblin and other specific types of gnome, their race changes to their specific sub-race, but subtype should stay 'Gnome' ** Half-Elves: race = Half-Elf, type = Humanoid, subtype = Human, Elf. Since Half-Elves count as a human and an elf, they should have both Subtypes. ** Half-Orcs: race = Half-Elf, type = Humanoid, subtype = Human, Orc. Since Half-Orcs count as a human and an orc, they should have both Subtypes. ** Halflings: race = Halfling, type = Humanoid, subtype = Halfling. For Lightfoot, Deep, Tallfellows and other specific types of halfling, their race changes to their specific sub-race, but subtype should stay 'Halfling' ** for other non-standard races, follow the general trend above to categorize * Un-Categorize pages As the MediaWiki Categories will not be used anymore, they can be removed from all pages. Want to help with this task? Visit the below categories and any pages that are categorized in them. Ensure that a corresponding Semantic Property is set, and then remove them from that category. D20 NPCs * General cleanup: **The StatDMG2 template has had several updates to how magic attributes are recorded. Pages that are using older methods of recording magical abilities will show up in the Tidy category and should be updated to the latest methods. **The CR property has some limitations for non-integer CRs. Semantic MediaWiki wants all "Number" type properties to be displayed as a decimal, rather than a fraction. So, CR is set to a "String" type. As such, a CR value of "½" (from clicking the "Symbols" list under the edit box), "½" (spelled out in the wikitext), and "1/2" are all interpreted as different strings. Specialized, one-character fraction symbols are available in unicode, but to view all of them (½ ⅓ ¼ ⅙ ⅛), certain fonts must be used. Plus there's no one-character fraction for 1/10. So, for consistency and to enable one-click searching, the standard for fractional CRs should be thus: 1/2, using three characters to express the fraction. This will make searching easier, and the Stat templates will reformat it to a pretty fraction for display purposes. **The Alignment Property should be the two-letter abbreviation; if you see any pages in that listing with the full alignment spelled out, change it to the two-letter abbreviation. **All the Race properties should be capitalized and normalized. Take a look at the drilldown page and look for any Race properties that are lower-case or broken and fix them. **Take a look at the list of NPCs that don't have a summary defined, and give summaries to any you can. **Pages in the Tidy category are there because they need some help; if you can, lend a hand. The changes needed might be related to this organizational effort, or might not, but would be helpful nonetheless.